The Least Mean Square (LMS) adaptation algorithm is known to provide good error rate performance for sequence detectors in applications such as, for example, digital data detectors (e.g., read channel devices for magnetic recording), data communication and the like. The LMS algorithm is updated according to Equation (1):CN(n+1)=CN(n)+μ*E(n)*XN(n)  (1)According to Equation (1), CN(n+1) is a vector of N tap weight coefficients of a filter for the next iteration (i.e., the next time sampling interval of the input signal), i.e., CN(n+1)=[C0(n+1), C1(n+1), . . . , CN-1(n+1)]. The filter can be, for example, a Finite Impulse Response (FIR) filter or an Infinite Impulse Response filter. A FIR filter produces an output that is a weighted sum of the current and past inputs to the filter. An IIR filter produces an output that is a weighted sum of the current and past inputs to the filter and past outputs of the filter. In Equation (1), CN(n) is a vector of N tap weight coefficients of the filter for the current iteration (i.e., the current sampling interval of the input signal), i.e., CN(n)=[C0(n), C1(n), . . . , CN-1(n)]. The gain constant or step-size parameter μ is a scalar value that generally controls the rate at which the LMS algorithm converges, with its value generally being between, for example, zero and one. E(n) is a scalar value representing the error between the value of the signal input to the filter and the ideal noiseless value of that input signal. For data communication, an output of the filter can be in communication with an input of a sequence detector, and an output of the sequence detector can be in communication with an input of a reconstruction filter, a target channel response filter, or the like. The ideal noiseless value can be estimated by convolving the output of the sequence detector with the target channel response. In Equation (1), XN(n) is a vector of N delayed input samples to the filter, i.e., XN(n)=[X(k), X(k−1), . . . , X(k−(N−1))].
In data communication receivers with gain recovery and/or timing phase recovery, it is generally necessary to constrain the LMS algorithm to minimize the interaction between the LMS adaptation and the gain and timing phase recovery. For example, for a filter having tap weight coefficients updated according to the LMS algorithm, at least two of the main tap weight coefficients of the filter can be constrained and not adapted. A Zero-Forcing (ZF) Automatic Gain Control (AGC) algorithm can be used to control the gain of the system. In such a configuration, there can be an undesirable interaction between the filter having tap weight coefficients updated according to the LMS algorithm and the ZF AGC. In the presence of signal noise, minimization of the Mean Square Error (MSE) by the LMS algorithm on the input signal through the filter can require that the gain of the system be slightly lowered relative to the noiseless case. However, the ZF AGC algorithm generally does not make adjustments to the overall gain setting, even in the presence of noise. With the ZF AGC algorithm maintaining a higher gain than desired by the filter having tap weight coefficients updated according to the LMS algorithm, the resultant higher-gain situation can cause the constrained LMS algorithm to converge to a sub-optimal state that can be far from the optimal error rate performance of the data receiver.
In addition, there can be another bias (or biases) in the timing phase recovery of the data receiver. This can be caused by, for example, implementation inaccuracy (e.g., quantization effects), data pattern dependencies (e.g., highly asymmetric waveforms), and the like. The constrained LMS algorithm generally cannot correct for the bias condition properly, because two or more of the main tap weight coefficients of the filter are not allowed to adapt. Consequently, the tap weight coefficients that are allowed to adapt can over-correct, which can result in the tap weight coefficients of the filter converging to a state that also yields sub-optimal error rate performance.